MON 2.1 - VBA

Tags :
  • MON
  • 2023-2024
  • temps 2
  • VBA
  • excel
Auteurs :
  • Schultz Mathis

Découverte du langage VBA

Introduction

Table des matières

Présentation d'excel

Microsoft Excel est une application de logiciel de tableur utilisée pour stocker, organiser et analyser des données. Lancé en 1985, il est devenu l'un des programmes informatiques les plus importants dans les entreprises du monde entier.

Excel est un outil puissant qui s'est solidement ancré dans les processus commerciaux à travers le monde, que ce soit pour l'analyse des actions ou des émetteurs, la budgétisation, ou l'organisation des listes de ventes clients. La capacité qu'a excel à répondre à l'ensemble des besoins des clients lui a permis de s'imposer sur le marché, en effet, sa simplicité combiné à son ensemble de fonctions comme le langage VBA lui a permis de devenir essentiel.

Finance et Comptabilité : Les services financiers et la comptabilité sont des domaines de la finance qui dépendent le plus des tableurs Excel. Dans les années 1970 et au début des années 1980, les analystes financiers passaient des semaines à exécuter des formules avancées manuellement. Aujourd'hui, Excel permet d'effectuer des modélisations complexes en quelques minutes. Les départements financiers et comptables utilisent intensivement Excel pour analyser les résultats financiers, créer des budgets et des prévisions, et prendre des décisions commerciales importantes.

Marketing et Gestion de Produits : Les professionnels du marketing et de la gestion de produits utilisent également Excel pour la gestion des cibles clients, la planification des stratégies marketing futures.

Planification des Ressources Humaines : Bien que des systèmes de base de données comme Oracle, SAP et Quickbooks soient utilisés pour gérer la paie et les informations sur les employés, l'exportation des données dans Excel permet d'analyser les tendances, de résumer les dépenses et les heures par période de paie, mois ou année, et de mieux comprendre la répartition de la main-d'œuvre par fonction ou niveau de salaire.

Polyvalence des Tableurs Excel : Excel est un outil polyvalent utilisé dans de nombreuses applications commerciales, telles que le suivi des listes d'invités et des coûts pour les événements d'entreprise, la création de modèles de croissance des revenus, la planification éditoriale, la budgétisation des produits, le suivi des dépenses, le calcul des remises clients...

Persistance d'Excel dans le Monde des Affaires : Excel reste un outil essentiel dans le monde des affaires, avec des applications allant des projets informatiques aux pique-niques d'entreprise. La maîtrise d'Excel est cruciale pour de nombreux professionnels de bureau, et des compétences plus avancées peuvent ouvrir des opportunités de promotion et de leadership. Bien que puissant, Excel nécessite un utilisateur compétent pour tirer le meilleur parti de ses fonctionnalités au profit de l'entreprise.

Les limites d'excel

Excel s'est imposé sur la marché avec une stratégie simple : un outil qui est modulable pour répondre aux besoins de tous. Il est rentré dans le quotidien de chaque entreprises et s'est rendu indispensable. Aujourd'hui le monde des finances est bloqué dans excel. Ce système conçu dans les années 80 est dépassé mais personne n'ose faire de transition vers d'autre système par peur de créer d'énormes problèmes. Voici quelques exemples de problème lié à des erreurs d'utilisation d'excel :

Oubli du signe moins de 2,6 milliards de dollars : En décembre 1994, un comptable du fonds commun de placement Magellan de Fidelity Investments a omis un signe moins (-), transformant une perte nette en capital de 1,3 milliard de dollars en un gain de 1,3 milliard de dollars. Cette erreur a entraîné le retrait de la distribution de fin d'année promise de 4,32 $ par action.

La grande différence entre "Masquer" et "Supprimer" : Lors de l'effondrement de Lehman Brothers en septembre 2008, Barclays Capital a failli acheter par accident 179 contrats de négociation de Lehman. En envoyant un fichier Excel à un tribunal de faillite, des lignes cachées au lieu d'être supprimées ont créé une confusion, détectée après l'approbation de l'accord.

L'erreur de "Couper" et "Coller" de 24 millions de dollars : En 2003, TransAlta Corp, une entreprise d'électricité canadienne, a subi une perte de 24 millions de dollars en raison d'une erreur de "Couper" et "Coller" lors de la soumission des offres pour des contrats de couverture de transmission d'électricité. Des prix de soumission plus élevés ont été attribués à des itinéraires à faible demande en raison d'une mauvaise alignation des lignes dans le fichier du tableur.

Voici donc des limites liées à l'utilisation d'excel qui nécessite qu'un autre outil mieux conçu prenne le relai.

Le langage VBA

Pourquoi le langage VBA

Que ce soit à titre personnel ou professionnel, il arrive parfois de faire plusieurs fois les mêmes actions dans un projet. Cela a peu de valeur ajoutée de refaire toujours la même chose. C'est là que le langage VBA fait sens : il permet de faire un code qui automatise la tâche, appelé Macro. VBA dépasse excel dans la mesure où les Macros peuvent s'utiliser sur d'autre applications : outlook, word...

les principaux cas d'usages

Les Macros

L'enregistreur de macros permet pour des cas simples de réaliser une suite d'action en très peu de temps : il reproduit les actions que vous lui montrez. Ce n'est pas une solution optimale car l'exécution n'est pas très rapide, et ne permet pas toutes les fonctionnalités : faire des boucles ou des teste.

Pour aller plus loin on peut ouvrir l'éditeur de Macros pour apporter des modifications à cette suite d'action : cela nécessite de coder les actions.

Attention

Pour enregistrer les macros il faut que le fichier soit en .xlsm ou .xlsb

MsgBox : Utilisée pour afficher des boîtes de dialogue avec des messages pour l'utilisateur.

MsgBox "Hello, World!"

InputBox : Permet de demander à l'utilisateur d'entrer des données.

Dim userInput As String
userInput = InputBox("Entrez quelque chose :")

Variables : Pour stocker et manipuler des données.

Dim myNumber As Integer
myNumber = 10

Conditions (If...Then...Else) : Utilisées pour exécuter des instructions en fonction d'une condition.

If myNumber > 5 Then
    MsgBox "La variable est supérieure à 5."
Else
    MsgBox "La variable est inférieure ou égale à 5."
End If

Boucles (For...Next, Do...Loop) : Permettent d'exécuter des instructions de manière répétée.

For i = 1 To 5
    MsgBox "Ceci est la itération " & i
Next i

Fonctions intégrées : Excel VBA offre également un large éventail de fonctions intégrées, similaires à celles d'Excel.

Dim result As Double
result = WorksheetFunction.Sum(Range("A1:A10"))

D'autre possibilités

Sécurité

Attention

Certaines fonctionnalités liés à l'exécution de code peut comporter des risques. Surtout lorsque l'on n'est pas auteur du code. Voici quelques démarches à suivre pour s'en protéger

La gestion de série temporelle

Google sheet

Pour travailler sur google sheet, le langage VBA ne fonctionne pas. Cependant, il y a un équivalent, le javascript.

Conclusion

J'ai suivit les cours d'Open Classroom qui prennent environ 4-5 heures chacuns. Ils permettent de se saisir des bases du vba et d'aller plus loin dans la gestion de fichier et de data. Il sont très bien fait, Louise a quand à elle suivit le tutoriel de microsoft qui se trouve dans les liens utiles, et qui selon elle est tout aussi bien.

Liens utiles

Microsoft propose beaucoup de ressource pour appréhender VBA, voici des liens qui renvoies vers :

Le premier cours d'Open Classroom Le second cours d'Open Classroom